Skip to content

feat(design-system): implement Lazy Scholar, Refined per DESIGN.md#10

Merged
vikranthreddimasu merged 1 commit into
mainfrom
claude/recursing-poincare-cd2ab5
Apr 17, 2026
Merged

feat(design-system): implement Lazy Scholar, Refined per DESIGN.md#10
vikranthreddimasu merged 1 commit into
mainfrom
claude/recursing-poincare-cd2ab5

Conversation

@vikranthreddimasu

Copy link
Copy Markdown
Owner

Summary

Implements the Lazy Scholar, Refined design system defined in DESIGN.md — warm-dark reading room, dual-accent color language, hierarchical radius, serif display type, and a citation signature treatment.

What changed

Tokens (apps/desktop/src/design-system/tokens.css) — major rewrite

  • Dual accent: sage (--color-accent, your action) + amber (--color-cite*, model's grounding) + slate (--color-uncertain*, low confidence)
  • Hierarchical radius replacing the blanket 999px that collapsed inputs, cards, buttons into one family:
    • --radius-xs 6px · --radius-input 10px · --radius-card 14px · --radius-textarea 16px · --radius-modal 20px · --radius-pill 999px
    • Legacy --radius-sm/md/lg/xl kept as aliases so nothing breaks during migration
  • Type scale aligned to spec: 11 / 13 / 15 / 16 / 18 / 22 / 28 plus serif display 36 / 48 / 64 / 80
  • Fonts: --font-serif (Instrument Serif), --font-sans (Plus Jakarta Sans), --font-mono (Geist Mono, tabular-nums for counts)
  • Shadows: --shadow-cite-glow for amber citation hover; --shadow-glow (sage) retained for primary-action halo
  • Primitives: global .cited / .cite-marker / .uncertain styles, plus prefers-reduced-motion override

Fonts & body

  • apps/desktop/index.html — Instrument Serif + Plus Jakarta Sans + Geist Mono via Bunny Fonts (privacy-friendly), with preconnect
  • apps/desktop/src/index.css — body line-height 1.5 → 1.55

Serif display applied

  • Welcome hero (layout.css) — 28px sans-bold → 48px Instrument Serif italic
  • Chat empty state (chat.css) — 22px sans → 36px Instrument Serif italic
  • Drag-drop overlay text (drag-overlay.css) — display-sm serif italic

Radius migrations to semantic tokens

  • toast.css--radius-card
  • command-palette.css, keyboard-shortcuts.css, zotero-import.css--radius-modal
  • setup-wizard.css — code block → --radius-input, model card + dropzone → --radius-card
  • documents.css drop-zone → --radius-card
  • drag-overlay.css--radius-modal

Citation highlighting (DocumentPreview.css)

  • PDF highlight: warning yellow #fbbf24 → amber --color-cite (#d9925a) with --color-cite-glow
  • Highlight badge: hardcoded 12px radius → --radius-pill with mono tabular-nums

Why

Per DESIGN.md decisions log: category baseline is all-grotesque; serif italic at display sizes signals "made for readers". Grounding needs a signal distinct from primary action so users see which parts of an answer are sourced vs. synthesized. Uniform pill radius erased container hierarchy — this restores it.

Test plan

  • Verify fonts load (Instrument Serif in welcome + empty states, Plus Jakarta Sans body, Geist Mono in timestamps/citations)
  • Welcome screen renders serif italic title
  • Chat empty state renders serif italic prompt
  • Toasts, command palette, keyboard shortcuts, Zotero dialog all have 20px modal radius (not pill)
  • Source card relevance + citation chips use amber, not sage
  • PDF highlight on click-to-view renders amber glow, not yellow
  • prefers-reduced-motion disables animations
  • No visual regressions on sidebar items, buttons, chips (still pill)

🤖 Generated with Claude Code

Token overhaul in apps/desktop/src/design-system/tokens.css:
- Dual-accent color language: sage (action), amber cite (grounding), slate (uncertainty)
- Hierarchical radius — xs/input/card/textarea/modal/pill — replacing the
  blanket 999px that collapsed inputs, cards, buttons into one family.
  Legacy sm/md/lg/xl aliased so nothing breaks during migration.
- Type scale aligned to spec (11/13/15/16/18/22/28) plus serif display
  sizes (36/48/64/80) for hero and empty states.
- Instrument Serif display face, Plus Jakarta Sans body, Geist Mono data.
- shadow-cite-glow for amber citation hover, kept shadow-glow (sage) for
  primary-action halo.
- Global .cited / .cite-marker / .uncertain primitives plus
  prefers-reduced-motion fallback.

Fonts loaded via Bunny (privacy-friendly) with preconnect in index.html;
body line-height bumped to 1.55.

Serif italic applied to welcome hero, chat empty state, drag-drop overlay.
Modals (command palette, keyboard shortcuts, zotero, toast, drop zones)
migrated to semantic radius tokens. Citation highlight in DocumentPreview
switched from warning yellow to amber cite color with glow + mono badge.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vikranthreddimasu vikranthreddimasu merged commit 2db618a into main Apr 17, 2026
0 of 2 checks passed
@vikranthreddimasu vikranthreddimasu deleted the claude/recursing-poincare-cd2ab5 branch April 17, 2026 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant